MongoDB সার্ভারের সাথে সংযোগ এবং ডাটাবেস নির্বাচন

Java Technologies - জাভা মঙ্গোডিবি (Java MongoDB) - MongoClient এবং MongoDatabase ক্লাস
119

MongoDB একটি NoSQL ডাটাবেস, যা JSON মত ডকুমেন্ট ফরম্যাটে ডেটা স্টোর করে এবং horizontal scalability এবং high availability সমর্থন করে। Java-তে MongoDB-এর সাথে যোগাযোগ করতে আমরা MongoDB Java Driver ব্যবহার করি, যা MongoDB সার্ভারের সাথে সংযোগ স্থাপন এবং ডাটাবেস পরিচালনা করার জন্য ব্যবহৃত হয়। MongoDB Java Driver-এর মাধ্যমে MongoDB সার্ভারের সাথে সংযোগ স্থাপন করা এবং ডাটাবেস নির্বাচন করা সহজ এবং কার্যকর।

এখানে আমরা দেখব কিভাবে MongoClient ক্লাস ব্যবহার করে MongoDB সার্ভারের সাথে সংযোগ স্থাপন করতে হয় এবং কিভাবে ডাটাবেস নির্বাচন করা হয়।


MongoClient ক্লাস:

MongoDB-তে MongoClient ক্লাস ব্যবহার করা হয় MongoDB সার্ভারের সাথে সংযোগ স্থাপনের জন্য। এটি MongoDB সার্ভারের URI বা হোস্টনেম, পোর্ট নম্বর ব্যবহার করে সংযোগ স্থাপন করে। এটি single-server connection বা clustered environment উভয় ক্ষেত্রেই কাজ করতে পারে।

MongoClient এর কাজ:

  • MongoClient MongoDB সার্ভারের সাথে সংযোগ তৈরি করে এবং MongoDB ডাটাবেসে একাধিক অপারেশন (যেমন ডেটা ইনসার্ট, রিড, আপডেট, ডিলিট) করতে সহায়তা করে।
  • এটি ডাটাবেস নির্বাচন, কালেকশন তৈরি এবং CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করতে ব্যবহৃত হয়।
  • MongoClient ক্লাসের মাধ্যমে MongoDB সার্ভারের সাথে সংযোগ স্থাপন করতে হয় এবং তারপর ডাটাবেস এবং কালেকশন অপারেশন করা হয়।

MongoClient এবং ডাটাবেস নির্বাচন:

MongoDB সার্ভারের সাথে সংযোগ স্থাপন:

MongoDB সার্ভারের সাথে সংযোগ করতে MongoClient ক্লাস ব্যবহার করা হয়। এটি একটি localhost হোস্টে MongoDB চালানোর জন্য, অথবা নির্দিষ্ট URI এর মাধ্যমে দূরবর্তী সার্ভারের সাথে সংযোগ স্থাপন করতে পারে।

MongoClient কানেকশন কনফিগারেশন:

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoDatabase;

public class MongoDBConnection {
    public static void main(String[] args) {
        // MongoDB URI ব্যবহার করে MongoClient তৈরি করা
        MongoClientURI uri = new MongoClientURI("mongodb://localhost:27017");
        MongoClient mongoClient = new MongoClient(uri);
        
        // ডাটাবেস নির্বাচন
        MongoDatabase database = mongoClient.getDatabase("testdb");

        System.out.println("Connected to database: " + database.getName());

        // সংযোগ বন্ধ করা
        mongoClient.close();
    }
}

ব্যাখ্যা:

  • MongoClient এর মাধ্যমে MongoDB সার্ভারের সাথে সংযোগ তৈরি করা হচ্ছে। এখানে localhost:27017 এর মাধ্যমে ডিফল্ট MongoDB পোর্টে সংযোগ স্থাপন করা হচ্ছে।
  • getDatabase("testdb") মেথড দিয়ে testdb নামক ডাটাবেস নির্বাচন করা হচ্ছে।
  • শেষে, mongoClient.close() ব্যবহার করে MongoDB সার্ভারের সাথে সংযোগ বন্ধ করা হচ্ছে।

MongoDB URI ব্যবহার করে সংযোগ:

MongoDB সার্ভারের সংযোগ URI (Uniform Resource Identifier) ব্যবহার করে কনফিগার করা যেতে পারে।

MongoClientURI uri = new MongoClientURI("mongodb://username:password@localhost:27017/testdb");
MongoClient mongoClient = new MongoClient(uri);
MongoDatabase database = mongoClient.getDatabase("testdb");

এই কনফিগারেশনে, username এবং password ব্যবহার করে MongoDB সার্ভারের সাথে প্রমাণীকরণ (authentication) করা হচ্ছে।


MongoDB ডাটাবেস নির্বাচন:

MongoDB-তে একাধিক ডাটাবেস থাকতে পারে, এবং একটি নির্দিষ্ট ডাটাবেস নির্বাচন করা হয় getDatabase() মেথড ব্যবহার করে। যদি ডাটাবেসটি উপস্থিত না থাকে, তবে MongoDB স্বয়ংক্রিয়ভাবে সেই নামের ডাটাবেস তৈরি করে।

MongoDatabase database = mongoClient.getDatabase("mydatabase");

এখানে:

  • getDatabase("mydatabase") মেথডটি mydatabase নামক ডাটাবেসটি নির্বাচন করবে। যদি এটি উপস্থিত না থাকে, তাহলে MongoDB সেটি নতুন করে তৈরি করবে।

MongoDB ডাটাবেসের সাথে কাজ করা:

MongoDB-তে বিভিন্ন collection এর মধ্যে ডেটা স্টোর করা হয়। ডাটাবেস নির্বাচন করার পর, একটি collection নির্বাচন করা হয় এবং সেখানে CRUD অপারেশন (Create, Read, Update, Delete) করা যায়।

Collection নির্বাচন এবং অপারেশন করা:

import com.mongodb.client.MongoCollection;
import com.mongodb.client.model.Filters;
import org.bson.Document;

public class MongoDBExample {
    public static void main(String[] args) {
        MongoClient mongoClient = new MongoClient("localhost", 27017);
        MongoDatabase database = mongoClient.getDatabase("testdb");

        // Collection নির্বাচন করা
        MongoCollection<Document> collection = database.getCollection("users");

        // ডকুমেন্ট ইনসার্ট করা
        Document doc = new Document("name", "John")
                       .append("age", 30)
                       .append("city", "New York");
        collection.insertOne(doc);

        // একটি ডকুমেন্ট খোঁজা
        Document myDoc = collection.find(Filters.eq("name", "John")).first();
        System.out.println(myDoc.toJson());

        // MongoClient বন্ধ করা
        mongoClient.close();
    }
}

ব্যাখ্যা:

  • getCollection("users") মেথড দিয়ে users নামের collection নির্বাচন করা হচ্ছে।
  • তারপর, একটি ডকুমেন্ট ইনসার্ট করা হচ্ছে এবং find() মেথডের মাধ্যমে name ফিল্ডের মান John এর সাথে মিলিয়ে ডেটা অনুসন্ধান করা হচ্ছে।

MongoClient এর সাথে Connection Pooling এবং Optimization:

MongoDB এ Connection Pooling ব্যবহার করা হয় যাতে সার্ভারের সাথে বার বার সংযোগ না তৈরি করে একটি সংযোগ পুল থেকে পুনরায় সংযোগ নেয়া যায়। MongoDB Java ড্রাইভার Connection Pooling সমর্থন করে এবং এটি কার্যকরীভাবে ডাটাবেস অ্যাক্সেসের পারফরম্যান্স উন্নত করে।

Connection Pooling কনফিগারেশন:

MongoClientOptions options = MongoClientOptions.builder()
    .connectionsPerHost(100)  // Maximum number of connections per host
    .maxWaitTime(120000)  // Maximum wait time for a connection
    .build();

MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://localhost:27017", options));

এখানে:

  • connectionsPerHost(100) দিয়ে প্রতিটি হোস্টের জন্য সর্বোচ্চ 100টি সংযোগের সীমা নির্ধারণ করা হয়েছে।
  • maxWaitTime(120000) দিয়ে সর্বোচ্চ 2 মিনিটের জন্য সংযোগের জন্য অপেক্ষা করার সময় নির্ধারণ করা হয়েছে।

  • MongoClient ক্লাস MongoDB সার্ভারের সাথে সংযোগ এবং ডাটাবেস নির্বাচন করার জন্য ব্যবহৃত হয়।
  • MongoClient ব্যবহার করে আপনি MongoDB সার্ভারে সংযোগ তৈরি করতে পারেন এবং getDatabase() মেথডের মাধ্যমে ডাটাবেস নির্বাচন করতে পারেন।
  • MongoDB URI ব্যবহার করে সঠিক কনফিগারেশন সহ সার্ভারের সাথে সংযোগ স্থাপন করা যেতে পারে।
  • Connection Pooling MongoDB ড্রাইভার দ্বারা স্বয়ংক্রিয়ভাবে পরিচালিত হয়, তবে এটি কাস্টম কনফিগারেশন দ্বারা আরও অপটিমাইজ করা যেতে পারে।
Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...